package com.order.controller.sys;

import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.route.ControllerBind;
import com.order.config.Consts;
import com.order.interceptor.sys.LoginInterceptor;
import com.order.model.sys.SysUserRole;

/** 
* @类名: RoleUserController 
* @描述: 用户角色控制器
* @作者: 林勃 
* @时间: 2014年4月16日 下午12:05:44 
*  
*/ 
@ControllerBind(controllerKey = Consts.SYS + "userRole")
public class UserRoleController extends Controller {

	private SysUserRole userRole = new SysUserRole();
	private static String msg = "";
	/** 
	* @Title: index 
	* @描述:    定位页面
	* void    
	* @throws 
	*/ 
	public void index(){
		render(Consts.SYS + "userRole.htm");
	}
	
	/** 
	* @Title: getRoleUserJson 
	* @描述:    查询对应用户
	* void    
	* @throws 
	*/ 
	public void getRoleUserJson() {
		int pagesize = (int)getParaToInt("pagesize");
		int page = (int)getParaToInt("page");
		int roleid = (int)getParaToInt("pid",0);
		String jsonStr = "{\"USER_NAME\":\"\",\"ROLE_NAME\":\"\"}"; 
		JSONObject jsonObj = JSONObject.parseObject(getPara("where",jsonStr));
		Map<String, Object> map = SysUserRole.dao.getRoleUser(page,pagesize,roleid,jsonObj);
		renderJson(map);
	}
	
	/** 
	* @Title: save 
	* @描述:    保存角色用户关系
	* void    
	* @throws 
	*/ 
	@Before(LoginInterceptor.class)
	public void save(){
		String json = getPara("json");
		userRole.getObj(json);
		if(userRole.get("ID") != null){
			msg = userRole.myUpdate();
		}else{
			msg = userRole.mySave();
		}
		System.out.println(msg);
		setAttr("msg", msg);
		renderJson();
	}
	
	/** 
	* @Title: delete 
	* @描述:    删除角色-用户关系
	* void    
	* @throws 
	*/ 
	public void delete(){
		String json = getPara("json")
				.replace("UR_ID", "ID")
				.replace("USER_ID", "SYS_USER_ID").replace("ROLE_ID", "SYS_ROLE_ID");
		userRole.getObj(json);
		System.out.println(userRole);
		if(userRole != null){
			userRole.delete();
			msg = "温馨提示：移除成功";
		}else{
			msg = "温馨提示：不存在该角色-用户关系";
		}
		setAttr("msg", msg);
		renderJson();
	}
}
